﻿--[[File: GloabalFunction.lua]]

--全局NPC的脚本文件，游戏重要的语法逻辑全部挂在这个NPC下面

thisNPC = nil
InitFnTable = {}
FinaFnTable = {}
MainFnTable = {}

--脚本子模块使用的局部函数或常量存放位置，避免使用全局对象 
local LocalDT = {}

--全局table，重启置空
InfoGlobalTable = {}


--#include "data\language\LangCode.txt" once
--#include "LogIds.lua" once										--脚本日志ID定义
--#include "GlobalMisc.lua" once									--全局的杂项函数 

--#include "BaseDef\BaseTypes.lua" once
--#include "ActorEvent\ActorEventDispatcher.lua" once
--#include "NpcMiscFun\NpcEventDispatcher.lua" once

--#include "Systems\SystemHandlerDispatcher.lua" once
--#include "CrossServerEvent\CSHandlerDispatcher.lua" once
 --#include "Tasks\taskInclude.lua" once

--#include "OnTimeRunFunction.lua" once								--定时执行的函数 

--#include "data\functions\Guild\GuildSbkWar.lua" once				--行会一些定时处理(2017.1)
--#include "data\functions\Guild\GuildContendWar.lua" once          --行会争夺    
--#include "data\functions\Activity\Boss\Boss_Init.lua" once		--世界boss
--#include "data\functions\Server.lua" once							--服务器相关
--#include "data\config\version.lua" once							--逻辑服务器版本号
--#include "data\functions\Common\CommonFunc.lua" once				--一些通用方法
--#include "data\functions\Common\CommonScene.lua" once				--场景相关通用方法
--#include "data\functions\Common\CommonBoss.lua" once				--BOSS通用功能
--#include "data\functions\Boss\WildBossCommon.lua" once			--野外boss
--#include "data\functions\Boss\PersonBossCommon.lua" once			--个人boss
--#include "data\functions\Common\RankMgr.lua" once					--排行榜管理
--#include "data\functions\Title\TitleCommon.lua" once				--称号事件触发
--#include "data\functions\Activity\ActivityGuide.lua" once			--精彩活动面板
--#include "data\functions\FuBen\SbkFuben.lua" once					--沙巴克体验副本
--#include "data\functions\robot\RobotMgr.lua" once					--机器人管理器	
--#include "data\functions\Boss\EquipBossCommon.lua" once           --装备boss		
--#include "data\functions\Activity\LivenessActivity.lua" once      --活跃度
--#include "data\functions\Activity\KnightErrant.lua" once			--侠客行  		
--#include "data\functions\FuBen\SpecialFuben.lua" once				--特殊副本需求
--#include "data\functions\Exep\ExepMoZun.lua" once                 --魔尊战场（体验）（实际上就是一个独立的功能）	

-------------------------------------每日活动------------start-------------------------------------
--#include "data\functions\Activity\DailyActivity\BaoZangActivity.lua" once			--宝藏传说
--#include "data\functions\Activity\DailyActivity\DailyDoubleExp.lua" once			--双倍经验
--#include "data\functions\Activity\DailyActivity\DailyActivitySwitch.lua" once		--每日活动开关
--#include "data\functions\Activity\DailyActivity\NationwideRedPackets.lua" once    --全民红包
--#include "data\functions\Activity\DailyActivity\DailyActivityInit.lua" once		--每日活动事件注册
--#include "data\functions\Activity\CrossActivity\CrossSwitch.lua" once				--跨服活动开关
--#include "data\functions\Activity\Escort\Escort.lua" once                         --极速押运
--#include "data\functions\Activity\DailyActivity\DarkBox.lua" once                 --暗之宝箱
-------------------------------------每日活动------------end-------------------------------------

-------------------------------------后台活动------------start-------------------------------------
--#include "data\functions\Activity\BackStageActivity\BackStageActivity.lua" once	--后台活动开启关闭管理
-------------------------------------后台活动------------end-------------------------------------

-------------------------------------运营活动------------start-------------------------------------
--#include "data\functions\Activity\Operation\operation.lua" once	--运营活动
-------------------------------------运营活动------------end-------------------------------------

--#include "data\functions\mail\MailCommon.lua"  once				--邮件事件
--#include "data\functions\Cross\CrossActivityInit.lua" once		--跨服活动

--#include "data\functions\Activity\BackStageActivity\BackStageControl.lua"   once -- 后台ScriptTimer活动控制器

--提取GlobalFunction独有, MonsterFunction不需要执行的初始化函数
table.insert(InitFnTable, ResisterEquipBossProc)
table.insert(InitFnTable, load_all_operation_activities)
table.insert(InitFnTable, VipSceneEventListener)
table.insert(InitFnTable, RegisterFubenProc)



function main(sysarg)
	return "global"
end


--[[初始化函数]]--
function initialization(npcobj)
	thisNPC = npcobj
	for i = 1, table.getn(InitFnTable) do
		InitFnTable[i]( npcobj )
	end
end

--[[析构化函数]]--
function finalization(npcobj)
	for i = 1, table.getn(FinaFnTable) do
		FinaFnTable[i]( npcobj )
	end
	thisNPC = nil
end

